Data processing techniques for analytical purposes are, contrary to data processing for transaction purposes, optimized with respect to providing a user with processors and presentation tools that can generate illustrations of the result of a specified analysis task.
Not only the data processing techniques, but also the data on which the analysis is to be based are often arranged with the special aim of supporting analysis purposes. This means that data are organised in a straight forward or flat organisation. This straight forward organisation of the data requires, however, a higher memory consumption and longer access time to the data when compared to organisation of data for transaction purposes. Typically, databases for analytical purposes comprise redundant data in that pre-computed aggregations of data are comprised in the database along with underlying data, ie data across which the aggregation(s) is/are performed. Thus, one can say that such a database represents data at different levels of granularity.
A well recognised organisation of data for analysis purposes comprises multidimensional databases e.g. so-called cube databases, or simply Cubes, for OLAP, OnLine Analytical Processing, databases. However, various types of databases and other types of data structures can be used for analytical processing, including relational databases, flat file databases, XML (Extensible Markup Language) databases, etc. In these databases elements of data can be denoted data items and can be defined as a field in a specific record, a cell in a table or spreadsheet, or a delimiter or tag separated or fixed-length data entity.
Despite their different structures each of the data items in the databases can be categorized as being so-called measures or dimensions. From a data representation point of view there are prima facia no differences, but from a user's point of view, a data item of the measures type can be interpreted as a measure value given a specific condition specified by an associated value of a data item of the dimensions type. A value of a data item of the dimensions type is also recognised as a so-called dimension value or a criterion.
Hence, for instance a range of data items categorized as measures can represent sales figures in an organisation. These sales figures are given a meaning when associated with the specific conditions of the time instances at which the sales figures represent the sales in the organisation. The time instances are represented by means of the dimension values. By categorizing the data items in this way an additional and more abstract way of representing data is provided; this additional representation is also denoted meta-data. In the above example, time is thus a dimension and the sales figures are categorized as a measure.
The data processing techniques for analytical purposes operate on these data whatever the organisation of the data to provide a result of the analysis. For this purpose, an analysis task can be specified by a request to a database. The result of the analysis is then illustrated by means of a data report. The data report can be set up by a user who selects presentation objects and properties thereof by of a so-called ‘report generator’ or a ‘chart wizard’, wherefrom default layout properties or user-specified layout properties are selected before making the presentation.
In connection therewith it is a well-known situation that a user often uses some sort of trial-and-error for tuning, on the one hand, the specification of the analysis task and, on the other hand, the illustration of the result of the analysis. Therefore, a further specification of the analysis task and the illustration of the results are functions which more or less have merged into the same user interface for more or less simultaneous tuning of an analysis and the results thereof.
The graphical/visual presentation of data is greatly influenced by the type of graphical/visual objects applied to make the presentation and layout properties of the graphical/visual objects. For textual presentations the objects may comprise text sections, headings, tables with columns and rows, etc. The layout properties may comprise font size, line spacing, etc. For graphical presentations the objects may comprise different types of charts and diagrams such as bar charts, line charts, pie charts, scatter charts, radar diagrams and other known diagrams or charts based on graphical elements. The layout properties may comprise tick marker spacing on an axis, legend font size, etc.
Presentation objects may be more or less suitable for making a presentation of a specific result with given contents, structure and format. Typically, the user is the only one to make a decision on that since it may require knowledge of the result which is not present in the application in which the presentation is made. However, the layout properties for specific presentation means are to some extent determined by properties of the physical medium on which the presentation is to be made. These properties are typically known to the application since knowledge of these properties is required to make the presentation. Therefore, the application can to some extent provide automatic setting of the layout properties. However, when it comes to layout properties which clearly are to be set in response to preferences of individual users and which may depend heavily on the content, structure and format of the result, it becomes critical to select a presentation automatically or semi-automatically.
In some types of applications results of a repeated analysis task have a fixed structure and format which is repeatedly presented by the same graphical/visual objects. Thereby, it may be worth the effort to spend time on selecting an optimal presentation object and tuning the layout thereof to obtain an optimal presentation in terms of obtaining the clearest presentation. An optimal presentation quality is thereby obtained.
However, in other types of applications the structure and format of the result of repeated analyses may change. Thereby it may be an overwhelming task to spend time on applying some sort of trial-and-error to obtain an optimal presentation for each result.
Especially in connection with presentation of results obtained by submitting a query to a database, the query to the database may generate results that can assume so many different structures and formats that it may be practically impossible to capture all the combinations of a result for making an automatic or semi-automatic presentation.
The ever increasing data capacity of storage memories and the widespread use of databases increase the amount of time a user is confronted with in connection with the task of, on the one hand, making queries to databases; and on the other hand, selecting a presentation for the data retrieved by the query.